using System.Collections.Generic;
using System.Runtime.CompilerServices;
using ns28;
using Triton.Game.Mapping;

namespace Triton.Game.Abstraction
{
	public class Entity : EntityBase
	{
		[CompilerGenerated]
		private Triton.Game.Mapping.Entity entity_0;

		[CompilerGenerated]
		private string string_0;

		[CompilerGenerated]
		private EntityDef entityDef_0;

		[CompilerGenerated]
		private string string_1;

		[CompilerGenerated]
		private TAG_CLASS tag_CLASS_0;

		[CompilerGenerated]
		private TAG_RACE tag_RACE_0;

		[CompilerGenerated]
		private int int_23;

		[CompilerGenerated]
		private int int_24;

		[CompilerGenerated]
		private int int_25;

		[CompilerGenerated]
		private int int_26;

		[CompilerGenerated]
		private int int_27;

		[CompilerGenerated]
		private List<Entity> list_0;

		internal Triton.Game.Mapping.Entity Entity_0
		{
			[CompilerGenerated]
			get
			{
				return entity_0;
			}
			[CompilerGenerated]
			set
			{
				entity_0 = value;
			}
		}

		public string Name
		{
			[CompilerGenerated]
			get
			{
				return string_0;
			}
			[CompilerGenerated]
			private set
			{
				string_0 = value;
			}
		}

		public EntityDef EntityDef
		{
			[CompilerGenerated]
			get
			{
				return entityDef_0;
			}
			[CompilerGenerated]
			private set
			{
				entityDef_0 = value;
			}
		}

		public string Id
		{
			[CompilerGenerated]
			get
			{
				return string_1;
			}
			[CompilerGenerated]
			private set
			{
				string_1 = value;
			}
		}

		public TAG_CLASS Class
		{
			[CompilerGenerated]
			get
			{
				return tag_CLASS_0;
			}
			[CompilerGenerated]
			private set
			{
				tag_CLASS_0 = value;
			}
		}

		public TAG_RACE Race
		{
			[CompilerGenerated]
			get
			{
				return tag_RACE_0;
			}
			[CompilerGenerated]
			private set
			{
				tag_RACE_0 = value;
			}
		}

		public int RealTimeCost
		{
			[CompilerGenerated]
			get
			{
				return int_23;
			}
			[CompilerGenerated]
			private set
			{
				int_23 = value;
			}
		}

		public int RealTimeRemainingHP
		{
			[CompilerGenerated]
			get
			{
				return int_24;
			}
			[CompilerGenerated]
			private set
			{
				int_24 = value;
			}
		}

		public int RealTimeAttack
		{
			[CompilerGenerated]
			get
			{
				return int_25;
			}
			[CompilerGenerated]
			private set
			{
				int_25 = value;
			}
		}

		public int RealTimeArmor
		{
			[CompilerGenerated]
			get
			{
				return int_26;
			}
			[CompilerGenerated]
			private set
			{
				int_26 = value;
			}
		}

		public int RealTimeDamage
		{
			[CompilerGenerated]
			get
			{
				return int_27;
			}
			[CompilerGenerated]
			private set
			{
				int_27 = value;
			}
		}

		public List<Entity> Attachments
		{
			[CompilerGenerated]
			get
			{
				return list_0;
			}
			[CompilerGenerated]
			private set
			{
				list_0 = value;
			}
		}

		internal Entity(Triton.Game.Mapping.Entity backingObject)
			: base(backingObject)
		{
			Entity_0 = backingObject;
			EntityDef = Class278.Class278_0.method_3(Entity_0.GetEntityDef());
			Name = Entity_0.GetName();
			Id = Entity_0.GetCardId();
			Class = Entity_0.GetClass();
			Race = Entity_0.GetRace();
			RealTimeCost = Entity_0.GetRealTimeCost();
			RealTimeRemainingHP = Entity_0.GetRealTimeRemainingHP();
			RealTimeAttack = Entity_0.GetRealTimeAttack();
			RealTimeArmor = Entity_0.m_realTimeArmor;
			RealTimeDamage = Entity_0.m_realTimeDamage;
			Attachments = new List<Entity>();
			foreach (Triton.Game.Mapping.Entity attachment in Entity_0.GetAttachments())
			{
				Attachments.Add(Class278.Class278_0.method_2(attachment));
			}
		}
	}
}
